package com.wyx;

import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import java.time.LocalDateTime;

@SpringBootApplication
@Slf4j
public class ApplicationMerchantManagement {
    private static final Logger logger = LoggerFactory.getLogger(ApplicationMerchantManagement.class);

    public static void main(String[] args) {
        SpringApplication.run(ApplicationMerchantManagement.class, args);
        logger.info(LocalDateTime.now() + " 项目启动成功");
        System.out.println("项目启动成功");
    }
}

// easyExcel  换成3.3.4 解决问题、把这个事儿，项目文本里面记录，在easyExcel里面记录。
// TODO：没有时间的选项，档位投放合计不太合适，应该修改修改样式，保留原本样式！！
/** 下面写的太乱了，这么写。也不需要写在文档里面，可以在文档里面写写具体的功能得了。
 * 需求：
 * 1. 查询可订购的卷烟，原本的思路是 通过查询当前可订购的方式，这种方式只能在订烟的时候查询，(准确，效率低当天才能知道)，现在的思路是  查询前几天就发布的这个单子，这个单子的时效快，基本准确。
 * 2. 将这个excel 查出来存起来。 就是每一个档位，什么时候，可以订购多少，存一张表就行了，预计订购表，之后就可以开展预计 某一个档位的预计订购量的查询，某一个档位一年能定多少的一个查询。金额，条数，都可查询。将投放策略的 csv文件保存起来，就根据这个进行一个分析。 还需要有一个订购时间段和 订单号的对照。查询订单应该看看可以查询到。
 * 3. 是否要做一个中间层，代码调用这个中间层，中间层点击，对应的按钮，得到最后的数据，并且调用这个数据，查看这个数据是否合理，返回給业务。 这么做代码看着很合理。这个中间层可以封装一个 按钮，也可以封装一个关于怕爬虫的业务逻辑。
 * 4. 按照现在的逻辑其实可以做成微服务的项目，看起来的确是满足这个需求的。爬虫的服务，excel的。到时候还可以有一个监控的。并且还可以避免依赖的耦合。先就这么写，再写多点再分。
 * 5. 分开服务之后得在 得开的服务，比如，当前用户只能某一时刻下载订单图片或者下载预计订单图片。上个锁。或者直接返回错误，让等待。
 * 6. 添加一个计算订购卷烟的的得分的需求，每次进行记录。或者仅仅是记录下订购了什么，之后再计算，记录在某一个表格里面，之后计算也行，没关系。记录订购价格，几类烟就行。 既然算自己的了，也给其他档位也算算。tnnn的。也给他们算算。这个需求可以分开做，记录每个档位到底订购了什么，自己到底订购了什么，算的明明白白的。
 */
/**
 * 已完成
 */

/**
 * bug 查询所有的烟的时候没有图片信息，有时间改改，看哪里不对。
 * <p>
 * 今天真的是醉求了，竟然有一条数据，在网页上能查到两条相同的数据，能查到两个一模一样的数据，不知道是为什么，一定是烟草的人写的垃圾代码，无法维护了，不准备兼容你们了，等过几天真正下架之后再说吧，
 * 这几条下架的数据，不急着修改， 应该产生新的逻辑，前端修改的时候要能选择哪条数据能修改，然后进行修改，不要一次性全部修改。
 *
 * <p>
 * 图片位置改改，对于下面变更 里面的  上架的与下架的都有的，进行一个颜色的提示。
 * <p>
 * 添加一个事件功能。  每个人都可以发布事件，这个 事件可以设置接收人， 接收人可以点击查看，也可以设置谁谁谁以查看，谁谁谁已确认。 或者说只有设置接收人的人才可以点击接受，一般都可以看到，并且所有人都可以查看谁谁谁已经浏览。。   这么做的业务逻辑
 * 写一个  可以导出所有产品的价格的程序，导出到一个excel中，使用这个 excel  可以快速的修改，然后重新写入  数据库中 ，当然  就又有了 修改数据库的方式了。  通过修改excel 的方式机芯修改。
 * <p>
 * 更新 是否为雪茄和  barCode 这算一个批次，但是不要算变更的批次，就是说查询 批次变更的时候这个不算变更。
 * <p>
 * 也是没有一个合理的解决方案。！！！  查询差异的时候应该查询一下是否为异型，如果是异型的话，进行一个提示？？？
 * <p>
 * 想把更新放在一块。如何做，！！
 * <p>
 * 对烟的分类是不是可以做一个 彻底的修改， 常规/异型， 0/(细/雪茄) 0/(细支/中支 // 雪茄) 这个才是自己需要的字段，
 * 总之就是为了表明，是一个中支，  如果需要的话可以把这个 把几个字段替换为一个字段表示，不就是一个类型吗，之后把这些类型放在一个常量 表里面。
 * <p>
 * <p>
 * 很多controller 里面的返回值在前端 页面 还没处理好。  大事件写到 excel表里面。
 * <p>
 * // typeCodeName 这个字段 有些多余，这种字段可以加一个标示，的表。 指的是在smoke的表里面。可能多余，也可能不多余
 * <p>
 * 日志级别， 给这条数据日志加一个日志级别。
 * <p>
 * 查询字段有些多余，可以不使用 * 。挑选几个。
 * <p>
 * 好多相同的字段 设置的数据类型还不一样，比如版本信息，这种需要加的，都存储成Long类型   还有用户id。一定要使用String 咋能使用Long
 * 呢。还有一些字段是使用String 。完全可以使用char代替
 * <p>
 * 现在对烟的需求有一个问题了， 现在有两部分数据，  一个是原本的烟的数据另一部分是查询到的数据，想把查询到的数据进行一个保存，
 * 还想有一套自己的数据 这么的话 这个表该如何设置。
 * 要不然就这样，在smokeInfoLog  里面仅仅显示的的是 在网页上 修改的数据信息，  在smoke里面显示的是
 * <p>
 * <p>
 * 添加一个对账单的标示，这个账是普通账，赖账。难要账，为什么要标注这么一下呢，因为想做一个定时提醒。什么账三天了，还没给，得标记一下。
 * <p>
 * 添加一个表？   什么时候什么商店更新了  卷烟信息。因为要在打印账单的时候打印一下最新一次更新卷烟的时间。
 * <p>
 * 代码预热的时候，可以尝试把小文件存在在 redis中。就不占内存了。
 * <p>
 * 在模板里面添加  档位信息，记录卷烟是否在销。更新数据，卷烟的接口   否也更新一下档位  等用户信息。
 * <p>
 * 在业务方面图片的表， 可能需要显示图片的时候会有一个优先级，到时候看业务吧，给图片新西街加上一个标识主图片，主图片做，主图片右。看业务。
 * <p>
 * 4. 如果一个订单特别麻烦的话，打印出来一个  可订购的单子！！   可用几条。 总计可订购几条。让爸爸看。 但是  其实没什么用。 实用性不强
 * 5 如果记完账的时候  或者修改了价格的时候，或者添加了一些商品的时候，由微信里面的小程序或者其他方式 搞一个机器人自动给群里
 * 发个消息到群里，比在群里手动输更加严谨， 别人也能看到，但是不需要这样找  。也是一种记账的方式
 * 6. 下载图片的时候，如果我要某些字段，只要某些字段。  如何做，  基于一个模板来生成一个模板？？  想的是这样的。可能实现的。
 * 7. 下载的时候。打成一个压缩包，因为可能是下载多个图片 。 但是有必要吗，？
 * 8. 有一个小问题。 在一个单元格里面的不同字体的不同颜色， 模板读取无法读取。  这份还好，无所谓。
 * <p>
 * 9. 写入excel模板的时候，bean 太冗余了，太多了。  我觉得应该写一个，   看起来更好
 * <p>
 * 11 在页面中实现 更新数据， 下载订单等等
 * <p>
 * 对于各种模板都需要一些数据，这些数据太乱了，  方法名字都起好，哪一个模板的数据。  什么数据，map数据还是list数据 都写好。  还有一个问题就是 应该有一个 服务器，因为同时将  图片读取到缓存太 大了，太容易崩了。
 * <p>
 * 12 //    TODO:  再多写几个切面，  把各部分耗时都放在线程里面，进行记录，最后在这个里面进行记录
 * <p>
 * 主要的接口，计算最佳订烟方案根据订烟公式  这能写几个接口   写一个方法。传入一个信息。返回？？？？  慢慢提需求。
 * 还有一个就是下载的时候 启动断电续传？  还是怎么滴，总之不能 一个接口那么长时间吧。
 * 完善静态页面  ，这个静态页面有很多的，功能，加一个按钮的效果，加一个加载的动画。
 *
 * <p>
 * 集成海康威视的监控 这也是一个大的问题！！
 * <p>
 * 逻辑大概有了，但是  暂时不用做了，太费时间了
 * 集成消息。
 * 破解登录
 * 记录日志
 * 对于网络连接不成功，网络超时等问题的异常统一处理。
 * <p>
 * 对于查询jinye  或者太原烟草的时候 很多的初始化信息是写死的，不合适。应该写成  灵活的，我已经把用户信息绑定到了当前线程上了，  随时可以调用。   其他登录的时候是用的上的
 * 或者说  这些信息都应该在httpService 里面查到  。
 * <p>
 * 在查询所有烟的时候添加一个数据列表，  存放的是外公司的烟， 这些东西放在一个图片里面。下载出来。
 * <p>
 * //TODO：
 * 总是查询 订单时空指针的问题。  记录一个日志把  无法复现问题？？？搞一个记录日志的吧
 * 就是cookie到期的问题。  主要是记录一个日志，  这个实话说不太会。   关于日志的记录不太会。
 * <p>
 * 已经是最新的  避免数据丢失
 * <p>
 * <p>
 * <p>
 * ------------------------------------------------------------------------------------------------------------
 * <p>
 * 在 设置每一行的颜色的时候 应该可以写一个可变参数的方法， 颜色的可变数组的方法。
 * <p>
 * 4. 如果一个订单特别麻烦的话，打印出来一个  可订购的单子！！   可用几条。 总计可订购几条。让爸爸看。 但是  其实没什么用。 实用性不强
 * 5 如果记完账的时候  或者修改了价格的时候，或者添加了一些商品的时候，由微信里面的小程序或者其他方式 搞一个机器人自动给群里
 * 发个消息到群里，比在群里手动输更加严谨， 别人也能看到，但是不需要这样找  。也是一种记账的方式
 * 6. 下载图片的时候，如果我要某些字段，只要某些字段。  如何做，  基于一个模板来生成一个模板？？  想的是这样的。可能实现的。
 * 7. 下载的时候。打成一个压缩包，因为可能是下载多个图片 。 但是有必要吗，？
 * <p>
 * 9. 写入excel模板的时候，bean 太冗余了，太多了。  我觉得应该写一个，   看起来更好
 * <p>
 * 11 在页面中实现 更新数据， 下载订单等等
 * <p>
 * 对于各种模板都需要一些数据，这些数据太乱了，  方法名字都起好，哪一个模板的数据。  什么数据，map数据还是list数据 都写好。  还有一个问题就是 应该有一个 服务器，因为同时将  图片读取到缓存太 大了，太容易崩了。
 * <p>
 * 12 //    TODO:  再多写几个切面，  把各部分耗时都放在线程里面，进行记录，最后在这个里面进行记录
 * <p>
 * 主要的接口，计算最佳订烟方案根据订烟公式  这能写几个接口   写一个方法。传入一个信息。返回？？？？  慢慢提需求。
 * 还有一个就是下载的时候 启动断电续传？  还是怎么滴，总之不能 一个接口那么长时间吧。
 * 完善静态页面  ，这个静态页面有很多的，功能，加一个按钮的效果，加一个加载的动画。
 *
 * <p>
 * 集成海康威视的监控 这也是一个大的问题！！
 * <p>
 * 逻辑大概有了，但是  暂时不用做了，太费时间了
 * 集成消息。
 * 破解登录
 * 记录日志
 * 对于网络连接不成功，网络超时等问题的异常统一处理。
 * <p>
 * 对于查询jinye  或者太原烟草的时候 很多的初始化信息是写死的，不合适。应该写成  灵活的，我已经把用户信息绑定到了当前线程上了，  随时可以调用。   其他登录的时候是用的上的
 * 或者说  这些信息都应该在httpService 里面查到  。
 * <p>
 * 在查询所有烟的时候添加一个数据列表，  存放的是外公司的烟， 这些东西放在一个图片里面。下载出来。
 * <p>
 * //TODO：
 * 总是查询 订单时空指针的问题。  记录一个日志把  无法复现问题？？？搞一个记录日志的吧
 * 就是cookie到期的问题。  主要是记录一个日志，  这个实话说不太会。   关于日志的记录不太会。
 * <p>
 * 已经是最新的  避免数据丢失
 */